package com.cnsugar.facerecgonized;

import com.cnsugar.ai.face.FaceHelper;
import com.cnsugar.ai.face.bean.Result;

import java.awt.image.BufferedImage;
import java.util.concurrent.Callable;

/**
 * @Author ChenZhangKun
 * @Date 2020/4/15 17:24
 */

/**
 * 人脸比对线程
 */
public class FaceRecognizedThread implements Callable {
    @Override
    public Object call() {
        synchronized (FaceRecognizedThread.class) {
            if (FaceRe.imageList != null && FaceRe.imageList.size() > 0&&FaceRe.map!=null&&FaceRe.map.size()>0) {
                // 获得第一张图片
                BufferedImage image = FaceRe.imageList.get(0);
                // JNI方法，获取名称与相似度
                Result search = FaceHelper.search(image);
                // 将原图封装在结果集中,便于客户端失忆
                search.setBufferedImage(image);
                // 添加host，将主机名与ip地址封装在result结果中
                search.setHost(FaceRe.map.get(image));
                // 删除第一个元素
                FaceRe.imageList.remove(0);
                // 删除第一个原素
                FaceRe.map.remove(image);
                return search;
            }
        }
        return null;
    }
}
